applicationwindow: Properly unmap the menubar widget
authorBenjamin Otte <otte@redhat.com>
Mon, 5 May 2014 13:27:14 +0000 (15:27 +0200)
committerBenjamin Otte <otte@redhat.com>
Mon, 5 May 2014 13:48:02 +0000 (15:48 +0200)
gtk/gtkapplicationwindow.c

index 1ea52f7fabf5a0b1965175e66d82ef20148a91d4..bf037ffcb304b05786064b5ad11499ed6f126957 100644 (file)
@@ -691,6 +691,18 @@ gtk_application_window_real_map (GtkWidget *widget)
   GTK_WIDGET_CLASS (gtk_application_window_parent_class)->map (widget);
 }
 
+static void
+gtk_application_window_real_unmap (GtkWidget *widget)
+{
+  GtkApplicationWindow *window = GTK_APPLICATION_WINDOW (widget);
+
+  /* XXX could eliminate this by tweaking gtk_window_unmap */
+  if (window->priv->menubar)
+    gtk_widget_unmap (window->priv->menubar);
+
+  GTK_WIDGET_CLASS (gtk_application_window_parent_class)->unmap (widget);
+}
+
 static void
 gtk_application_window_real_forall_internal (GtkContainer *container,
                                              gboolean      include_internal,
@@ -811,6 +823,7 @@ gtk_application_window_class_init (GtkApplicationWindowClass *class)
   widget_class->realize = gtk_application_window_real_realize;
   widget_class->unrealize = gtk_application_window_real_unrealize;
   widget_class->map = gtk_application_window_real_map;
+  widget_class->unmap = gtk_application_window_real_unmap;
   object_class->get_property = gtk_application_window_get_property;
   object_class->set_property = gtk_application_window_set_property;
   object_class->dispose = gtk_application_window_dispose;